
read-write:     file format elf64-x86-64


Disassembly of section .init:

0000000000001000 <_init>:
    1000:	f3 0f 1e fa          	endbr64 
    1004:	48 83 ec 08          	sub    $0x8,%rsp
    1008:	48 8b 05 d9 2f 00 00 	mov    0x2fd9(%rip),%rax        # 3fe8 <__gmon_start__>
    100f:	48 85 c0             	test   %rax,%rax
    1012:	74 02                	je     1016 <_init+0x16>
    1014:	ff d0                	callq  *%rax
    1016:	48 83 c4 08          	add    $0x8,%rsp
    101a:	c3                   	retq   

Disassembly of section .plt:

0000000000001020 <.plt>:
    1020:	ff 35 4a 2f 00 00    	pushq  0x2f4a(%rip)        # 3f70 <_GLOBAL_OFFSET_TABLE_+0x8>
    1026:	f2 ff 25 4b 2f 00 00 	bnd jmpq *0x2f4b(%rip)        # 3f78 <_GLOBAL_OFFSET_TABLE_+0x10>
    102d:	0f 1f 00             	nopl   (%rax)
    1030:	f3 0f 1e fa          	endbr64 
    1034:	68 00 00 00 00       	pushq  $0x0
    1039:	f2 e9 e1 ff ff ff    	bnd jmpq 1020 <.plt>
    103f:	90                   	nop
    1040:	f3 0f 1e fa          	endbr64 
    1044:	68 01 00 00 00       	pushq  $0x1
    1049:	f2 e9 d1 ff ff ff    	bnd jmpq 1020 <.plt>
    104f:	90                   	nop
    1050:	f3 0f 1e fa          	endbr64 
    1054:	68 02 00 00 00       	pushq  $0x2
    1059:	f2 e9 c1 ff ff ff    	bnd jmpq 1020 <.plt>
    105f:	90                   	nop
    1060:	f3 0f 1e fa          	endbr64 
    1064:	68 03 00 00 00       	pushq  $0x3
    1069:	f2 e9 b1 ff ff ff    	bnd jmpq 1020 <.plt>
    106f:	90                   	nop
    1070:	f3 0f 1e fa          	endbr64 
    1074:	68 04 00 00 00       	pushq  $0x4
    1079:	f2 e9 a1 ff ff ff    	bnd jmpq 1020 <.plt>
    107f:	90                   	nop
    1080:	f3 0f 1e fa          	endbr64 
    1084:	68 05 00 00 00       	pushq  $0x5
    1089:	f2 e9 91 ff ff ff    	bnd jmpq 1020 <.plt>
    108f:	90                   	nop
    1090:	f3 0f 1e fa          	endbr64 
    1094:	68 06 00 00 00       	pushq  $0x6
    1099:	f2 e9 81 ff ff ff    	bnd jmpq 1020 <.plt>
    109f:	90                   	nop
    10a0:	f3 0f 1e fa          	endbr64 
    10a4:	68 07 00 00 00       	pushq  $0x7
    10a9:	f2 e9 71 ff ff ff    	bnd jmpq 1020 <.plt>
    10af:	90                   	nop
    10b0:	f3 0f 1e fa          	endbr64 
    10b4:	68 08 00 00 00       	pushq  $0x8
    10b9:	f2 e9 61 ff ff ff    	bnd jmpq 1020 <.plt>
    10bf:	90                   	nop
    10c0:	f3 0f 1e fa          	endbr64 
    10c4:	68 09 00 00 00       	pushq  $0x9
    10c9:	f2 e9 51 ff ff ff    	bnd jmpq 1020 <.plt>
    10cf:	90                   	nop
    10d0:	f3 0f 1e fa          	endbr64 
    10d4:	68 0a 00 00 00       	pushq  $0xa
    10d9:	f2 e9 41 ff ff ff    	bnd jmpq 1020 <.plt>
    10df:	90                   	nop

Disassembly of section .plt.got:

00000000000010e0 <__cxa_finalize@plt>:
    10e0:	f3 0f 1e fa          	endbr64 
    10e4:	f2 ff 25 0d 2f 00 00 	bnd jmpq *0x2f0d(%rip)        # 3ff8 <__cxa_finalize@GLIBC_2.2.5>
    10eb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

Disassembly of section .plt.sec:

00000000000010f0 <abort@plt>:
    10f0:	f3 0f 1e fa          	endbr64 
    10f4:	f2 ff 25 85 2e 00 00 	bnd jmpq *0x2e85(%rip)        # 3f80 <abort@GLIBC_2.2.5>
    10fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001100 <write@plt>:
    1100:	f3 0f 1e fa          	endbr64 
    1104:	f2 ff 25 7d 2e 00 00 	bnd jmpq *0x2e7d(%rip)        # 3f88 <write@GLIBC_2.2.5>
    110b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001110 <__stack_chk_fail@plt>:
    1110:	f3 0f 1e fa          	endbr64 
    1114:	f2 ff 25 75 2e 00 00 	bnd jmpq *0x2e75(%rip)        # 3f90 <__stack_chk_fail@GLIBC_2.4>
    111b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001120 <printf@plt>:
    1120:	f3 0f 1e fa          	endbr64 
    1124:	f2 ff 25 6d 2e 00 00 	bnd jmpq *0x2e6d(%rip)        # 3f98 <printf@GLIBC_2.2.5>
    112b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001130 <memset@plt>:
    1130:	f3 0f 1e fa          	endbr64 
    1134:	f2 ff 25 65 2e 00 00 	bnd jmpq *0x2e65(%rip)        # 3fa0 <memset@GLIBC_2.2.5>
    113b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001140 <ioctl@plt>:
    1140:	f3 0f 1e fa          	endbr64 
    1144:	f2 ff 25 5d 2e 00 00 	bnd jmpq *0x2e5d(%rip)        # 3fa8 <ioctl@GLIBC_2.2.5>
    114b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001150 <close@plt>:
    1150:	f3 0f 1e fa          	endbr64 
    1154:	f2 ff 25 55 2e 00 00 	bnd jmpq *0x2e55(%rip)        # 3fb0 <close@GLIBC_2.2.5>
    115b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001160 <read@plt>:
    1160:	f3 0f 1e fa          	endbr64 
    1164:	f2 ff 25 4d 2e 00 00 	bnd jmpq *0x2e4d(%rip)        # 3fb8 <read@GLIBC_2.2.5>
    116b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001170 <memcmp@plt>:
    1170:	f3 0f 1e fa          	endbr64 
    1174:	f2 ff 25 45 2e 00 00 	bnd jmpq *0x2e45(%rip)        # 3fc0 <memcmp@GLIBC_2.2.5>
    117b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001180 <open@plt>:
    1180:	f3 0f 1e fa          	endbr64 
    1184:	f2 ff 25 3d 2e 00 00 	bnd jmpq *0x2e3d(%rip)        # 3fc8 <open@GLIBC_2.2.5>
    118b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001190 <perror@plt>:
    1190:	f3 0f 1e fa          	endbr64 
    1194:	f2 ff 25 35 2e 00 00 	bnd jmpq *0x2e35(%rip)        # 3fd0 <perror@GLIBC_2.2.5>
    119b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

Disassembly of section .text:

00000000000011a0 <_start>:
    11a0:	f3 0f 1e fa          	endbr64 
    11a4:	31 ed                	xor    %ebp,%ebp
    11a6:	49 89 d1             	mov    %rdx,%r9
    11a9:	5e                   	pop    %rsi
    11aa:	48 89 e2             	mov    %rsp,%rdx
    11ad:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
    11b1:	50                   	push   %rax
    11b2:	54                   	push   %rsp
    11b3:	4c 8d 05 76 07 00 00 	lea    0x776(%rip),%r8        # 1930 <__libc_csu_fini>
    11ba:	48 8d 0d ff 06 00 00 	lea    0x6ff(%rip),%rcx        # 18c0 <__libc_csu_init>
    11c1:	48 8d 3d e9 06 00 00 	lea    0x6e9(%rip),%rdi        # 18b1 <main>
    11c8:	ff 15 12 2e 00 00    	callq  *0x2e12(%rip)        # 3fe0 <__libc_start_main@GLIBC_2.2.5>
    11ce:	f4                   	hlt    
    11cf:	90                   	nop

00000000000011d0 <deregister_tm_clones>:
    11d0:	48 8d 3d 49 2e 00 00 	lea    0x2e49(%rip),%rdi        # 4020 <__TMC_END__>
    11d7:	48 8d 05 42 2e 00 00 	lea    0x2e42(%rip),%rax        # 4020 <__TMC_END__>
    11de:	48 39 f8             	cmp    %rdi,%rax
    11e1:	74 15                	je     11f8 <deregister_tm_clones+0x28>
    11e3:	48 8b 05 ee 2d 00 00 	mov    0x2dee(%rip),%rax        # 3fd8 <_ITM_deregisterTMCloneTable>
    11ea:	48 85 c0             	test   %rax,%rax
    11ed:	74 09                	je     11f8 <deregister_tm_clones+0x28>
    11ef:	ff e0                	jmpq   *%rax
    11f1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
    11f8:	c3                   	retq   
    11f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000001200 <register_tm_clones>:
    1200:	48 8d 3d 19 2e 00 00 	lea    0x2e19(%rip),%rdi        # 4020 <__TMC_END__>
    1207:	48 8d 35 12 2e 00 00 	lea    0x2e12(%rip),%rsi        # 4020 <__TMC_END__>
    120e:	48 29 fe             	sub    %rdi,%rsi
    1211:	48 89 f0             	mov    %rsi,%rax
    1214:	48 c1 ee 3f          	shr    $0x3f,%rsi
    1218:	48 c1 f8 03          	sar    $0x3,%rax
    121c:	48 01 c6             	add    %rax,%rsi
    121f:	48 d1 fe             	sar    %rsi
    1222:	74 14                	je     1238 <register_tm_clones+0x38>
    1224:	48 8b 05 c5 2d 00 00 	mov    0x2dc5(%rip),%rax        # 3ff0 <_ITM_registerTMCloneTable>
    122b:	48 85 c0             	test   %rax,%rax
    122e:	74 08                	je     1238 <register_tm_clones+0x38>
    1230:	ff e0                	jmpq   *%rax
    1232:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
    1238:	c3                   	retq   
    1239:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000001240 <__do_global_dtors_aux>:
    1240:	f3 0f 1e fa          	endbr64 
    1244:	80 3d d5 2d 00 00 00 	cmpb   $0x0,0x2dd5(%rip)        # 4020 <__TMC_END__>
    124b:	75 2b                	jne    1278 <__do_global_dtors_aux+0x38>
    124d:	55                   	push   %rbp
    124e:	48 83 3d a2 2d 00 00 	cmpq   $0x0,0x2da2(%rip)        # 3ff8 <__cxa_finalize@GLIBC_2.2.5>
    1255:	00 
    1256:	48 89 e5             	mov    %rsp,%rbp
    1259:	74 0c                	je     1267 <__do_global_dtors_aux+0x27>
    125b:	48 8b 3d a6 2d 00 00 	mov    0x2da6(%rip),%rdi        # 4008 <__dso_handle>
    1262:	e8 79 fe ff ff       	callq  10e0 <__cxa_finalize@plt>
    1267:	e8 64 ff ff ff       	callq  11d0 <deregister_tm_clones>
    126c:	c6 05 ad 2d 00 00 01 	movb   $0x1,0x2dad(%rip)        # 4020 <__TMC_END__>
    1273:	5d                   	pop    %rbp
    1274:	c3                   	retq   
    1275:	0f 1f 00             	nopl   (%rax)
    1278:	c3                   	retq   
    1279:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000001280 <frame_dummy>:
    1280:	f3 0f 1e fa          	endbr64 
    1284:	e9 77 ff ff ff       	jmpq   1200 <register_tm_clones>

0000000000001289 <pabort>:
    1289:	f3 0f 1e fa          	endbr64 
    128d:	55                   	push   %rbp
    128e:	48 89 e5             	mov    %rsp,%rbp
    1291:	48 83 ec 10          	sub    $0x10,%rsp
    1295:	48 89 7d f8          	mov    %rdi,-0x8(%rbp)
    1299:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    129d:	48 89 c7             	mov    %rax,%rdi
    12a0:	e8 eb fe ff ff       	callq  1190 <perror@plt>
    12a5:	e8 46 fe ff ff       	callq  10f0 <abort@plt>

00000000000012aa <SPI_Transfer>:
    12aa:	f3 0f 1e fa          	endbr64 
    12ae:	55                   	push   %rbp
    12af:	48 89 e5             	mov    %rsp,%rbp
    12b2:	48 83 ec 60          	sub    $0x60,%rsp
    12b6:	48 89 7d b8          	mov    %rdi,-0x48(%rbp)
    12ba:	48 89 75 b0          	mov    %rsi,-0x50(%rbp)
    12be:	89 55 ac             	mov    %edx,-0x54(%rbp)
    12c1:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    12c8:	00 00 
    12ca:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    12ce:	31 c0                	xor    %eax,%eax
    12d0:	8b 05 52 2d 00 00    	mov    0x2d52(%rip),%eax        # 4028 <g_SPI_Fd>
    12d6:	89 45 c8             	mov    %eax,-0x38(%rbp)
    12d9:	48 c7 45 d0 00 00 00 	movq   $0x0,-0x30(%rbp)
    12e0:	00 
    12e1:	48 c7 45 d8 00 00 00 	movq   $0x0,-0x28(%rbp)
    12e8:	00 
    12e9:	48 c7 45 e0 00 00 00 	movq   $0x0,-0x20(%rbp)
    12f0:	00 
    12f1:	48 c7 45 e8 00 00 00 	movq   $0x0,-0x18(%rbp)
    12f8:	00 
    12f9:	48 8b 45 b8          	mov    -0x48(%rbp),%rax
    12fd:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
    1301:	48 8b 45 b0          	mov    -0x50(%rbp),%rax
    1305:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
    1309:	8b 45 ac             	mov    -0x54(%rbp),%eax
    130c:	89 45 e0             	mov    %eax,-0x20(%rbp)
    130f:	0f b7 05 10 2d 00 00 	movzwl 0x2d10(%rip),%eax        # 4026 <delay>
    1316:	66 89 45 e8          	mov    %ax,-0x18(%rbp)
    131a:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
    131e:	8b 45 c8             	mov    -0x38(%rbp),%eax
    1321:	be 00 6b 20 40       	mov    $0x40206b00,%esi
    1326:	89 c7                	mov    %eax,%edi
    1328:	b8 00 00 00 00       	mov    $0x0,%eax
    132d:	e8 0e fe ff ff       	callq  1140 <ioctl@plt>
    1332:	89 45 cc             	mov    %eax,-0x34(%rbp)
    1335:	83 7d cc 00          	cmpl   $0x0,-0x34(%rbp)
    1339:	7f 11                	jg     134c <SPI_Transfer+0xa2>
    133b:	48 8d 3d d5 0c 00 00 	lea    0xcd5(%rip),%rdi        # 2017 <_IO_stdin_used+0x17>
    1342:	b8 00 00 00 00       	mov    $0x0,%eax
    1347:	e8 d4 fd ff ff       	callq  1120 <printf@plt>
    134c:	8b 45 cc             	mov    -0x34(%rbp),%eax
    134f:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
    1353:	64 48 33 0c 25 28 00 	xor    %fs:0x28,%rcx
    135a:	00 00 
    135c:	74 05                	je     1363 <SPI_Transfer+0xb9>
    135e:	e8 ad fd ff ff       	callq  1110 <__stack_chk_fail@plt>
    1363:	c9                   	leaveq 
    1364:	c3                   	retq   

0000000000001365 <SPI_Write>:
    1365:	f3 0f 1e fa          	endbr64 
    1369:	55                   	push   %rbp
    136a:	48 89 e5             	mov    %rsp,%rbp
    136d:	48 83 ec 20          	sub    $0x20,%rsp
    1371:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
    1375:	89 75 e4             	mov    %esi,-0x1c(%rbp)
    1378:	8b 05 aa 2c 00 00    	mov    0x2caa(%rip),%eax        # 4028 <g_SPI_Fd>
    137e:	89 45 f8             	mov    %eax,-0x8(%rbp)
    1381:	8b 45 e4             	mov    -0x1c(%rbp),%eax
    1384:	48 63 d0             	movslq %eax,%rdx
    1387:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
    138b:	8b 45 f8             	mov    -0x8(%rbp),%eax
    138e:	48 89 ce             	mov    %rcx,%rsi
    1391:	89 c7                	mov    %eax,%edi
    1393:	e8 68 fd ff ff       	callq  1100 <write@plt>
    1398:	89 45 fc             	mov    %eax,-0x4(%rbp)
    139b:	83 7d fc 00          	cmpl   $0x0,-0x4(%rbp)
    139f:	79 11                	jns    13b2 <SPI_Write+0x4d>
    13a1:	48 8d 3d 86 0c 00 00 	lea    0xc86(%rip),%rdi        # 202e <_IO_stdin_used+0x2e>
    13a8:	b8 00 00 00 00       	mov    $0x0,%eax
    13ad:	e8 6e fd ff ff       	callq  1120 <printf@plt>
    13b2:	8b 45 fc             	mov    -0x4(%rbp),%eax
    13b5:	c9                   	leaveq 
    13b6:	c3                   	retq   

00000000000013b7 <SPI_Read>:
    13b7:	f3 0f 1e fa          	endbr64 
    13bb:	55                   	push   %rbp
    13bc:	48 89 e5             	mov    %rsp,%rbp
    13bf:	48 83 ec 20          	sub    $0x20,%rsp
    13c3:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
    13c7:	89 75 e4             	mov    %esi,-0x1c(%rbp)
    13ca:	8b 05 58 2c 00 00    	mov    0x2c58(%rip),%eax        # 4028 <g_SPI_Fd>
    13d0:	89 45 f8             	mov    %eax,-0x8(%rbp)
    13d3:	8b 45 e4             	mov    -0x1c(%rbp),%eax
    13d6:	48 63 d0             	movslq %eax,%rdx
    13d9:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
    13dd:	8b 45 f8             	mov    -0x8(%rbp),%eax
    13e0:	48 89 ce             	mov    %rcx,%rsi
    13e3:	89 c7                	mov    %eax,%edi
    13e5:	e8 76 fd ff ff       	callq  1160 <read@plt>
    13ea:	89 45 fc             	mov    %eax,-0x4(%rbp)
    13ed:	83 7d fc 00          	cmpl   $0x0,-0x4(%rbp)
    13f1:	79 11                	jns    1404 <SPI_Read+0x4d>
    13f3:	48 8d 3d 45 0c 00 00 	lea    0xc45(%rip),%rdi        # 203f <_IO_stdin_used+0x3f>
    13fa:	b8 00 00 00 00       	mov    $0x0,%eax
    13ff:	e8 1c fd ff ff       	callq  1120 <printf@plt>
    1404:	8b 45 fc             	mov    -0x4(%rbp),%eax
    1407:	c9                   	leaveq 
    1408:	c3                   	retq   

0000000000001409 <SPI_Open>:
    1409:	f3 0f 1e fa          	endbr64 
    140d:	55                   	push   %rbp
    140e:	48 89 e5             	mov    %rsp,%rbp
    1411:	48 83 ec 10          	sub    $0x10,%rsp
    1415:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%rbp)
    141c:	8b 05 06 2c 00 00    	mov    0x2c06(%rip),%eax        # 4028 <g_SPI_Fd>
    1422:	85 c0                	test   %eax,%eax
    1424:	74 0a                	je     1430 <SPI_Open+0x27>
    1426:	b8 f1 00 00 00       	mov    $0xf1,%eax
    142b:	e9 e8 01 00 00       	jmpq   1618 <SPI_Open+0x20f>
    1430:	48 8b 05 e1 2b 00 00 	mov    0x2be1(%rip),%rax        # 4018 <device>
    1437:	be 02 00 00 00       	mov    $0x2,%esi
    143c:	48 89 c7             	mov    %rax,%rdi
    143f:	b8 00 00 00 00       	mov    $0x0,%eax
    1444:	e8 37 fd ff ff       	callq  1180 <open@plt>
    1449:	89 45 fc             	mov    %eax,-0x4(%rbp)
    144c:	83 7d fc 00          	cmpl   $0x0,-0x4(%rbp)
    1450:	79 0e                	jns    1460 <SPI_Open+0x57>
    1452:	48 8d 3d f6 0b 00 00 	lea    0xbf6(%rip),%rdi        # 204f <_IO_stdin_used+0x4f>
    1459:	e8 2b fe ff ff       	callq  1289 <pabort>
    145e:	eb 11                	jmp    1471 <SPI_Open+0x68>
    1460:	48 8d 3d 01 0c 00 00 	lea    0xc01(%rip),%rdi        # 2068 <_IO_stdin_used+0x68>
    1467:	b8 00 00 00 00       	mov    $0x0,%eax
    146c:	e8 af fc ff ff       	callq  1120 <printf@plt>
    1471:	8b 45 fc             	mov    -0x4(%rbp),%eax
    1474:	89 05 ae 2b 00 00    	mov    %eax,0x2bae(%rip)        # 4028 <g_SPI_Fd>
    147a:	8b 45 fc             	mov    -0x4(%rbp),%eax
    147d:	48 8d 15 a0 2b 00 00 	lea    0x2ba0(%rip),%rdx        # 4024 <mode>
    1484:	be 01 6b 01 40       	mov    $0x40016b01,%esi
    1489:	89 c7                	mov    %eax,%edi
    148b:	b8 00 00 00 00       	mov    $0x0,%eax
    1490:	e8 ab fc ff ff       	callq  1140 <ioctl@plt>
    1495:	89 45 f8             	mov    %eax,-0x8(%rbp)
    1498:	83 7d f8 ff          	cmpl   $0xffffffff,-0x8(%rbp)
    149c:	75 0c                	jne    14aa <SPI_Open+0xa1>
    149e:	48 8d 3d ea 0b 00 00 	lea    0xbea(%rip),%rdi        # 208f <_IO_stdin_used+0x8f>
    14a5:	e8 df fd ff ff       	callq  1289 <pabort>
    14aa:	8b 45 fc             	mov    -0x4(%rbp),%eax
    14ad:	48 8d 15 70 2b 00 00 	lea    0x2b70(%rip),%rdx        # 4024 <mode>
    14b4:	be 01 6b 01 80       	mov    $0x80016b01,%esi
    14b9:	89 c7                	mov    %eax,%edi
    14bb:	b8 00 00 00 00       	mov    $0x0,%eax
    14c0:	e8 7b fc ff ff       	callq  1140 <ioctl@plt>
    14c5:	89 45 f8             	mov    %eax,-0x8(%rbp)
    14c8:	83 7d f8 ff          	cmpl   $0xffffffff,-0x8(%rbp)
    14cc:	75 0c                	jne    14da <SPI_Open+0xd1>
    14ce:	48 8d 3d cd 0b 00 00 	lea    0xbcd(%rip),%rdi        # 20a2 <_IO_stdin_used+0xa2>
    14d5:	e8 af fd ff ff       	callq  1289 <pabort>
    14da:	8b 45 fc             	mov    -0x4(%rbp),%eax
    14dd:	48 8d 15 2c 2b 00 00 	lea    0x2b2c(%rip),%rdx        # 4010 <bits>
    14e4:	be 03 6b 01 40       	mov    $0x40016b03,%esi
    14e9:	89 c7                	mov    %eax,%edi
    14eb:	b8 00 00 00 00       	mov    $0x0,%eax
    14f0:	e8 4b fc ff ff       	callq  1140 <ioctl@plt>
    14f5:	89 45 f8             	mov    %eax,-0x8(%rbp)
    14f8:	83 7d f8 ff          	cmpl   $0xffffffff,-0x8(%rbp)
    14fc:	75 0c                	jne    150a <SPI_Open+0x101>
    14fe:	48 8d 3d b0 0b 00 00 	lea    0xbb0(%rip),%rdi        # 20b5 <_IO_stdin_used+0xb5>
    1505:	e8 7f fd ff ff       	callq  1289 <pabort>
    150a:	8b 45 fc             	mov    -0x4(%rbp),%eax
    150d:	48 8d 15 fc 2a 00 00 	lea    0x2afc(%rip),%rdx        # 4010 <bits>
    1514:	be 03 6b 01 80       	mov    $0x80016b03,%esi
    1519:	89 c7                	mov    %eax,%edi
    151b:	b8 00 00 00 00       	mov    $0x0,%eax
    1520:	e8 1b fc ff ff       	callq  1140 <ioctl@plt>
    1525:	89 45 f8             	mov    %eax,-0x8(%rbp)
    1528:	83 7d f8 ff          	cmpl   $0xffffffff,-0x8(%rbp)
    152c:	75 0c                	jne    153a <SPI_Open+0x131>
    152e:	48 8d 3d 98 0b 00 00 	lea    0xb98(%rip),%rdi        # 20cd <_IO_stdin_used+0xcd>
    1535:	e8 4f fd ff ff       	callq  1289 <pabort>
    153a:	8b 45 fc             	mov    -0x4(%rbp),%eax
    153d:	48 8d 15 d0 2a 00 00 	lea    0x2ad0(%rip),%rdx        # 4014 <speed>
    1544:	be 04 6b 04 40       	mov    $0x40046b04,%esi
    1549:	89 c7                	mov    %eax,%edi
    154b:	b8 00 00 00 00       	mov    $0x0,%eax
    1550:	e8 eb fb ff ff       	callq  1140 <ioctl@plt>
    1555:	89 45 f8             	mov    %eax,-0x8(%rbp)
    1558:	83 7d f8 ff          	cmpl   $0xffffffff,-0x8(%rbp)
    155c:	75 0c                	jne    156a <SPI_Open+0x161>
    155e:	48 8d 3d 80 0b 00 00 	lea    0xb80(%rip),%rdi        # 20e5 <_IO_stdin_used+0xe5>
    1565:	e8 1f fd ff ff       	callq  1289 <pabort>
    156a:	8b 45 fc             	mov    -0x4(%rbp),%eax
    156d:	48 8d 15 a0 2a 00 00 	lea    0x2aa0(%rip),%rdx        # 4014 <speed>
    1574:	be 04 6b 04 80       	mov    $0x80046b04,%esi
    1579:	89 c7                	mov    %eax,%edi
    157b:	b8 00 00 00 00       	mov    $0x0,%eax
    1580:	e8 bb fb ff ff       	callq  1140 <ioctl@plt>
    1585:	89 45 f8             	mov    %eax,-0x8(%rbp)
    1588:	83 7d f8 ff          	cmpl   $0xffffffff,-0x8(%rbp)
    158c:	75 0c                	jne    159a <SPI_Open+0x191>
    158e:	48 8d 3d 67 0b 00 00 	lea    0xb67(%rip),%rdi        # 20fc <_IO_stdin_used+0xfc>
    1595:	e8 ef fc ff ff       	callq  1289 <pabort>
    159a:	0f b6 05 83 2a 00 00 	movzbl 0x2a83(%rip),%eax        # 4024 <mode>
    15a1:	0f b6 c0             	movzbl %al,%eax
    15a4:	89 c6                	mov    %eax,%esi
    15a6:	48 8d 3d 66 0b 00 00 	lea    0xb66(%rip),%rdi        # 2113 <_IO_stdin_used+0x113>
    15ad:	b8 00 00 00 00       	mov    $0x0,%eax
    15b2:	e8 69 fb ff ff       	callq  1120 <printf@plt>
    15b7:	0f b6 05 52 2a 00 00 	movzbl 0x2a52(%rip),%eax        # 4010 <bits>
    15be:	0f b6 c0             	movzbl %al,%eax
    15c1:	89 c6                	mov    %eax,%esi
    15c3:	48 8d 3d 57 0b 00 00 	lea    0xb57(%rip),%rdi        # 2121 <_IO_stdin_used+0x121>
    15ca:	b8 00 00 00 00       	mov    $0x0,%eax
    15cf:	e8 4c fb ff ff       	callq  1120 <printf@plt>
    15d4:	8b 05 3a 2a 00 00    	mov    0x2a3a(%rip),%eax        # 4014 <speed>
    15da:	89 c0                	mov    %eax,%eax
    15dc:	48 69 c0 83 de 1b 43 	imul   $0x431bde83,%rax,%rax
    15e3:	48 c1 e8 20          	shr    $0x20,%rax
    15e7:	89 c2                	mov    %eax,%edx
    15e9:	c1 ea 12             	shr    $0x12,%edx
    15ec:	8b 05 22 2a 00 00    	mov    0x2a22(%rip),%eax        # 4014 <speed>
    15f2:	89 c0                	mov    %eax,%eax
    15f4:	48 69 c0 d3 4d 62 10 	imul   $0x10624dd3,%rax,%rax
    15fb:	48 c1 e8 20          	shr    $0x20,%rax
    15ff:	c1 e8 06             	shr    $0x6,%eax
    1602:	89 c6                	mov    %eax,%esi
    1604:	48 8d 3d 29 0b 00 00 	lea    0xb29(%rip),%rdi        # 2134 <_IO_stdin_used+0x134>
    160b:	b8 00 00 00 00       	mov    $0x0,%eax
    1610:	e8 0b fb ff ff       	callq  1120 <printf@plt>
    1615:	8b 45 f8             	mov    -0x8(%rbp),%eax
    1618:	c9                   	leaveq 
    1619:	c3                   	retq   

000000000000161a <SPI_Close>:
    161a:	f3 0f 1e fa          	endbr64 
    161e:	55                   	push   %rbp
    161f:	48 89 e5             	mov    %rsp,%rbp
    1622:	48 83 ec 10          	sub    $0x10,%rsp
    1626:	8b 05 fc 29 00 00    	mov    0x29fc(%rip),%eax        # 4028 <g_SPI_Fd>
    162c:	89 45 fc             	mov    %eax,-0x4(%rbp)
    162f:	83 7d fc 00          	cmpl   $0x0,-0x4(%rbp)
    1633:	75 07                	jne    163c <SPI_Close+0x22>
    1635:	b8 00 00 00 00       	mov    $0x0,%eax
    163a:	eb 19                	jmp    1655 <SPI_Close+0x3b>
    163c:	8b 45 fc             	mov    -0x4(%rbp),%eax
    163f:	89 c7                	mov    %eax,%edi
    1641:	e8 0a fb ff ff       	callq  1150 <close@plt>
    1646:	c7 05 d8 29 00 00 00 	movl   $0x0,0x29d8(%rip)        # 4028 <g_SPI_Fd>
    164d:	00 00 00 
    1650:	b8 00 00 00 00       	mov    $0x0,%eax
    1655:	c9                   	leaveq 
    1656:	c3                   	retq   

0000000000001657 <SPI_LookBackTest>:
    1657:	f3 0f 1e fa          	endbr64 
    165b:	55                   	push   %rbp
    165c:	48 89 e5             	mov    %rsp,%rbp
    165f:	41 55                	push   %r13
    1661:	41 54                	push   %r12
    1663:	53                   	push   %rbx
    1664:	48 83 ec 48          	sub    $0x48,%rsp
    1668:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    166f:	00 00 
    1671:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
    1675:	31 c0                	xor    %eax,%eax
    1677:	48 89 e0             	mov    %rsp,%rax
    167a:	48 89 c3             	mov    %rax,%rbx
    167d:	c7 45 ac 10 00 00 00 	movl   $0x10,-0x54(%rbp)
    1684:	8b 45 ac             	mov    -0x54(%rbp),%eax
    1687:	48 98                	cltq   
    1689:	48 83 e8 01          	sub    $0x1,%rax
    168d:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
    1691:	8b 45 ac             	mov    -0x54(%rbp),%eax
    1694:	48 98                	cltq   
    1696:	49 89 c4             	mov    %rax,%r12
    1699:	41 bd 00 00 00 00    	mov    $0x0,%r13d
    169f:	8b 45 ac             	mov    -0x54(%rbp),%eax
    16a2:	48 98                	cltq   
    16a4:	49 89 c2             	mov    %rax,%r10
    16a7:	41 bb 00 00 00 00    	mov    $0x0,%r11d
    16ad:	8b 45 ac             	mov    -0x54(%rbp),%eax
    16b0:	48 98                	cltq   
    16b2:	ba 10 00 00 00       	mov    $0x10,%edx
    16b7:	48 83 ea 01          	sub    $0x1,%rdx
    16bb:	48 01 d0             	add    %rdx,%rax
    16be:	b9 10 00 00 00       	mov    $0x10,%ecx
    16c3:	ba 00 00 00 00       	mov    $0x0,%edx
    16c8:	48 f7 f1             	div    %rcx
    16cb:	48 6b c0 10          	imul   $0x10,%rax,%rax
    16cf:	48 89 c2             	mov    %rax,%rdx
    16d2:	48 81 e2 00 f0 ff ff 	and    $0xfffffffffffff000,%rdx
    16d9:	48 89 e1             	mov    %rsp,%rcx
    16dc:	48 29 d1             	sub    %rdx,%rcx
    16df:	48 89 ca             	mov    %rcx,%rdx
    16e2:	48 39 d4             	cmp    %rdx,%rsp
    16e5:	74 12                	je     16f9 <SPI_LookBackTest+0xa2>
    16e7:	48 81 ec 00 10 00 00 	sub    $0x1000,%rsp
    16ee:	48 83 8c 24 f8 0f 00 	orq    $0x0,0xff8(%rsp)
    16f5:	00 00 
    16f7:	eb e9                	jmp    16e2 <SPI_LookBackTest+0x8b>
    16f9:	48 89 c2             	mov    %rax,%rdx
    16fc:	81 e2 ff 0f 00 00    	and    $0xfff,%edx
    1702:	48 29 d4             	sub    %rdx,%rsp
    1705:	48 89 c2             	mov    %rax,%rdx
    1708:	81 e2 ff 0f 00 00    	and    $0xfff,%edx
    170e:	48 85 d2             	test   %rdx,%rdx
    1711:	74 10                	je     1723 <SPI_LookBackTest+0xcc>
    1713:	25 ff 0f 00 00       	and    $0xfff,%eax
    1718:	48 83 e8 08          	sub    $0x8,%rax
    171c:	48 01 e0             	add    %rsp,%rax
    171f:	48 83 08 00          	orq    $0x0,(%rax)
    1723:	48 89 e0             	mov    %rsp,%rax
    1726:	48 83 c0 00          	add    $0x0,%rax
    172a:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
    172e:	8b 45 ac             	mov    -0x54(%rbp),%eax
    1731:	48 98                	cltq   
    1733:	48 83 e8 01          	sub    $0x1,%rax
    1737:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
    173b:	8b 45 ac             	mov    -0x54(%rbp),%eax
    173e:	48 98                	cltq   
    1740:	49 89 c0             	mov    %rax,%r8
    1743:	41 b9 00 00 00 00    	mov    $0x0,%r9d
    1749:	8b 45 ac             	mov    -0x54(%rbp),%eax
    174c:	48 98                	cltq   
    174e:	48 89 c6             	mov    %rax,%rsi
    1751:	bf 00 00 00 00       	mov    $0x0,%edi
    1756:	8b 45 ac             	mov    -0x54(%rbp),%eax
    1759:	48 98                	cltq   
    175b:	ba 10 00 00 00       	mov    $0x10,%edx
    1760:	48 83 ea 01          	sub    $0x1,%rdx
    1764:	48 01 d0             	add    %rdx,%rax
    1767:	bf 10 00 00 00       	mov    $0x10,%edi
    176c:	ba 00 00 00 00       	mov    $0x0,%edx
    1771:	48 f7 f7             	div    %rdi
    1774:	48 6b c0 10          	imul   $0x10,%rax,%rax
    1778:	48 89 c2             	mov    %rax,%rdx
    177b:	48 81 e2 00 f0 ff ff 	and    $0xfffffffffffff000,%rdx
    1782:	48 89 e6             	mov    %rsp,%rsi
    1785:	48 29 d6             	sub    %rdx,%rsi
    1788:	48 89 f2             	mov    %rsi,%rdx
    178b:	48 39 d4             	cmp    %rdx,%rsp
    178e:	74 12                	je     17a2 <SPI_LookBackTest+0x14b>
    1790:	48 81 ec 00 10 00 00 	sub    $0x1000,%rsp
    1797:	48 83 8c 24 f8 0f 00 	orq    $0x0,0xff8(%rsp)
    179e:	00 00 
    17a0:	eb e9                	jmp    178b <SPI_LookBackTest+0x134>
    17a2:	48 89 c2             	mov    %rax,%rdx
    17a5:	81 e2 ff 0f 00 00    	and    $0xfff,%edx
    17ab:	48 29 d4             	sub    %rdx,%rsp
    17ae:	48 89 c2             	mov    %rax,%rdx
    17b1:	81 e2 ff 0f 00 00    	and    $0xfff,%edx
    17b7:	48 85 d2             	test   %rdx,%rdx
    17ba:	74 10                	je     17cc <SPI_LookBackTest+0x175>
    17bc:	25 ff 0f 00 00       	and    $0xfff,%eax
    17c1:	48 83 e8 08          	sub    $0x8,%rax
    17c5:	48 01 e0             	add    %rsp,%rax
    17c8:	48 83 08 00          	orq    $0x0,(%rax)
    17cc:	48 89 e0             	mov    %rsp,%rax
    17cf:	48 83 c0 00          	add    $0x0,%rax
    17d3:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
    17d7:	8b 45 ac             	mov    -0x54(%rbp),%eax
    17da:	48 98                	cltq   
    17dc:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
    17e0:	48 89 d1             	mov    %rdx,%rcx
    17e3:	48 89 c2             	mov    %rax,%rdx
    17e6:	be 00 00 00 00       	mov    $0x0,%esi
    17eb:	48 89 cf             	mov    %rcx,%rdi
    17ee:	e8 3d f9 ff ff       	callq  1130 <memset@plt>
    17f3:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%rbp)
    17fa:	eb 15                	jmp    1811 <SPI_LookBackTest+0x1ba>
    17fc:	8b 45 b0             	mov    -0x50(%rbp),%eax
    17ff:	89 c1                	mov    %eax,%ecx
    1801:	48 8b 55 c0          	mov    -0x40(%rbp),%rdx
    1805:	8b 45 b0             	mov    -0x50(%rbp),%eax
    1808:	48 98                	cltq   
    180a:	88 0c 02             	mov    %cl,(%rdx,%rax,1)
    180d:	83 45 b0 01          	addl   $0x1,-0x50(%rbp)
    1811:	8b 45 b0             	mov    -0x50(%rbp),%eax
    1814:	3b 45 ac             	cmp    -0x54(%rbp),%eax
    1817:	7c e3                	jl     17fc <SPI_LookBackTest+0x1a5>
    1819:	48 8d 3d 30 09 00 00 	lea    0x930(%rip),%rdi        # 2150 <_IO_stdin_used+0x150>
    1820:	b8 00 00 00 00       	mov    $0x0,%eax
    1825:	e8 f6 f8 ff ff       	callq  1120 <printf@plt>
    182a:	8b 55 ac             	mov    -0x54(%rbp),%edx
    182d:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
    1831:	48 8b 45 c0          	mov    -0x40(%rbp),%rax
    1835:	48 89 ce             	mov    %rcx,%rsi
    1838:	48 89 c7             	mov    %rax,%rdi
    183b:	e8 6a fa ff ff       	callq  12aa <SPI_Transfer>
    1840:	89 45 b4             	mov    %eax,-0x4c(%rbp)
    1843:	83 7d b4 01          	cmpl   $0x1,-0x4c(%rbp)
    1847:	7e 43                	jle    188c <SPI_LookBackTest+0x235>
    1849:	8b 55 ac             	mov    -0x54(%rbp),%edx
    184c:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
    1850:	48 8b 45 c0          	mov    -0x40(%rbp),%rax
    1854:	48 89 ce             	mov    %rcx,%rsi
    1857:	48 89 c7             	mov    %rax,%rdi
    185a:	e8 11 f9 ff ff       	callq  1170 <memcmp@plt>
    185f:	89 45 b4             	mov    %eax,-0x4c(%rbp)
    1862:	83 7d b4 00          	cmpl   $0x0,-0x4c(%rbp)
    1866:	74 13                	je     187b <SPI_LookBackTest+0x224>
    1868:	48 8d 3d ff 08 00 00 	lea    0x8ff(%rip),%rdi        # 216e <_IO_stdin_used+0x16e>
    186f:	b8 00 00 00 00       	mov    $0x0,%eax
    1874:	e8 a7 f8 ff ff       	callq  1120 <printf@plt>
    1879:	eb 11                	jmp    188c <SPI_LookBackTest+0x235>
    187b:	48 8d 3d 06 09 00 00 	lea    0x906(%rip),%rdi        # 2188 <_IO_stdin_used+0x188>
    1882:	b8 00 00 00 00       	mov    $0x0,%eax
    1887:	e8 94 f8 ff ff       	callq  1120 <printf@plt>
    188c:	8b 45 b4             	mov    -0x4c(%rbp),%eax
    188f:	48 89 dc             	mov    %rbx,%rsp
    1892:	48 8b 5d d8          	mov    -0x28(%rbp),%rbx
    1896:	64 48 33 1c 25 28 00 	xor    %fs:0x28,%rbx
    189d:	00 00 
    189f:	74 05                	je     18a6 <SPI_LookBackTest+0x24f>
    18a1:	e8 6a f8 ff ff       	callq  1110 <__stack_chk_fail@plt>
    18a6:	48 8d 65 e8          	lea    -0x18(%rbp),%rsp
    18aa:	5b                   	pop    %rbx
    18ab:	41 5c                	pop    %r12
    18ad:	41 5d                	pop    %r13
    18af:	5d                   	pop    %rbp
    18b0:	c3                   	retq   

00000000000018b1 <main>:
    18b1:	f3 0f 1e fa          	endbr64 
    18b5:	55                   	push   %rbp
    18b6:	48 89 e5             	mov    %rsp,%rbp
    18b9:	90                   	nop
    18ba:	5d                   	pop    %rbp
    18bb:	c3                   	retq   
    18bc:	0f 1f 40 00          	nopl   0x0(%rax)

00000000000018c0 <__libc_csu_init>:
    18c0:	f3 0f 1e fa          	endbr64 
    18c4:	41 57                	push   %r15
    18c6:	4c 8d 3d 8b 24 00 00 	lea    0x248b(%rip),%r15        # 3d58 <__frame_dummy_init_array_entry>
    18cd:	41 56                	push   %r14
    18cf:	49 89 d6             	mov    %rdx,%r14
    18d2:	41 55                	push   %r13
    18d4:	49 89 f5             	mov    %rsi,%r13
    18d7:	41 54                	push   %r12
    18d9:	41 89 fc             	mov    %edi,%r12d
    18dc:	55                   	push   %rbp
    18dd:	48 8d 2d 7c 24 00 00 	lea    0x247c(%rip),%rbp        # 3d60 <__do_global_dtors_aux_fini_array_entry>
    18e4:	53                   	push   %rbx
    18e5:	4c 29 fd             	sub    %r15,%rbp
    18e8:	48 83 ec 08          	sub    $0x8,%rsp
    18ec:	e8 0f f7 ff ff       	callq  1000 <_init>
    18f1:	48 c1 fd 03          	sar    $0x3,%rbp
    18f5:	74 1f                	je     1916 <__libc_csu_init+0x56>
    18f7:	31 db                	xor    %ebx,%ebx
    18f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
    1900:	4c 89 f2             	mov    %r14,%rdx
    1903:	4c 89 ee             	mov    %r13,%rsi
    1906:	44 89 e7             	mov    %r12d,%edi
    1909:	41 ff 14 df          	callq  *(%r15,%rbx,8)
    190d:	48 83 c3 01          	add    $0x1,%rbx
    1911:	48 39 dd             	cmp    %rbx,%rbp
    1914:	75 ea                	jne    1900 <__libc_csu_init+0x40>
    1916:	48 83 c4 08          	add    $0x8,%rsp
    191a:	5b                   	pop    %rbx
    191b:	5d                   	pop    %rbp
    191c:	41 5c                	pop    %r12
    191e:	41 5d                	pop    %r13
    1920:	41 5e                	pop    %r14
    1922:	41 5f                	pop    %r15
    1924:	c3                   	retq   
    1925:	66 66 2e 0f 1f 84 00 	data16 nopw %cs:0x0(%rax,%rax,1)
    192c:	00 00 00 00 

0000000000001930 <__libc_csu_fini>:
    1930:	f3 0f 1e fa          	endbr64 
    1934:	c3                   	retq   

Disassembly of section .fini:

0000000000001938 <_fini>:
    1938:	f3 0f 1e fa          	endbr64 
    193c:	48 83 ec 08          	sub    $0x8,%rsp
    1940:	48 83 c4 08          	add    $0x8,%rsp
    1944:	c3                   	retq   
